/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package util;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.commons.exec.ExecuteException;

/**
 *
 * @author shone
 */
public class Skripte {

    private File[] skripte;
    private int skriptaZaIzvrsenje;

    public Skripte() {
        File root = new File(".");
        File[] fajlovi = root.listFiles();
        ArrayList<File> tmp = new ArrayList<File>();

        for (int i = 0; i < fajlovi.length; i++) {
            File f = fajlovi[i];
            String fName = f.getName();

            if(fName.equalsIgnoreCase("startup.bat"))
                continue;

            if(fName.toLowerCase().endsWith(".bat"))
                tmp.add(f);
        }

        if(tmp.isEmpty()) {
            skriptaZaIzvrsenje = -1;
            skripte = null;
        } else {
            skriptaZaIzvrsenje = 0;
            skripte = tmp.toArray(new File[0]);
        }
    }

    public String izvrsiSledecu() {
        if(skriptaZaIzvrsenje == -1)
            return "NEMA SKRIPTI";

        if(skriptaZaIzvrsenje >= skripte.length)
            skriptaZaIzvrsenje = 0;

        try {
            String komanda = skripte[skriptaZaIzvrsenje].getCanonicalPath();
            String rezultat = "Izvrsavam skriptu: " + skripte[skriptaZaIzvrsenje]
                    + "\n" + CommandLineInterface.execute(komanda, null);
            skriptaZaIzvrsenje++;
            return rezultat;
        } catch (ExecuteException ex) {
            return "GRESKA PRI IZVRSAVANJU SKRIPTE: " + skripte[skriptaZaIzvrsenje].getName();
        } catch (IOException ex) {
            return "GRESKA PRI PRISTUPANJU SKRIPTI: " + skripte[skriptaZaIzvrsenje].getName();
        }
    }

    public File[] getSkripte() {
        return skripte;
    }

}
